package com.ruoyi.sts.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 客流数据对象 sts_data_detail
 *
 * @author maoxiaodong
 * @date 2025-04-20
 */
public class StsHolidayDataDetail extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;
    private String holidayName;

    /** 一级部门ID */
    @Excel(name = "一级部门ID")
    private Long deptId1;

    /** 一级部门名称 */
    @Excel(name = "一级部门名称")
    private String deptName1;

    /** 二级部门ID */
    @Excel(name = "二级部门ID")
    private Long deptId2;

    /** 二级部门名称 */
    @Excel(name = "二级部门名称")
    private String deptName2;

    /** 三级部门ID */
    @Excel(name = "三级部门ID")
    private Long deptId3;

    /** 三级部门名称 */
    @Excel(name = "三级部门名称")
    private String deptName3;

    /** 设备ID */
    @Excel(name = "设备ID")
    private Long deviceId;

    /** 设备名称 */
    @Excel(name = "设备名称")
    private String deviceName;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    /** 结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    /** 经过人数 */
    @Excel(name = "经过人数")
    private Integer passNum = 0;

    /** 进入人数 */
    @Excel(name = "进入人数")
    private Integer inNum = 0;

    /** 离开人数 */
    @Excel(name = "离开人数")
    private Integer outNum = 0;

    /** 重复人数 */
    @Excel(name = "重复人数")
    private Integer repNum = 0;

    /** 儿童人数 */
    @Excel(name = "儿童人数")
    private Integer childNum = 0;

    /** 少年人数 */
    @Excel(name = "少年人数")
    private Integer juvenileNum = 0;

    /** 青少年人数 */
    @Excel(name = "青少年人数")
    private Integer teenagerNum = 0;

    /** 青年人数 */
    @Excel(name = "青年人数")
    private Integer youthNum = 0;

    /** 壮年人数 */
    @Excel(name = "壮年人数")
    private Integer adultNum = 0;

    /** 中年人数 */
    @Excel(name = "中年人数")
    private Integer middleNum = 0;

    /** 中老年人数 */
    @Excel(name = "中老年人数")
    private Integer elderlyNum = 0;

    /** 老年人数 */
    @Excel(name = "老年人数")
    private Integer seniorNum = 0;

    /** 未知年龄人数 */
    @Excel(name = "未知年龄人数")
    private Integer unknownAgeNum = 0;

    /** 男人数 */
    @Excel(name = "男人数")
    private Integer manNum = 0;

    /** 女人数 */
    @Excel(name = "女人数")
    private Integer womanNum = 0;

    /** 未知性别人数 */
    @Excel(name = "未知性别人数")
    private Integer unknownSexNum = 0;

    /** '离开重复人数' */
    @Excel(name = "'离开重复人数'")
    private Integer outRepNum;
    /** '经过重复人数' */
    @Excel(name = "'经过重复人数'")
    private Integer passRepNum;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getDeptId1() {
        return deptId1;
    }

    public void setDeptId1(Long deptId1) {
        this.deptId1 = deptId1;
    }

    public String getDeptName1() {
        return deptName1;
    }

    public void setDeptName1(String deptName1) {
        this.deptName1 = deptName1;
    }

    public Long getDeptId2() {
        return deptId2;
    }

    public void setDeptId2(Long deptId2) {
        this.deptId2 = deptId2;
    }

    public String getDeptName2() {
        return deptName2;
    }

    public void setDeptName2(String deptName2) {
        this.deptName2 = deptName2;
    }

    public Long getDeptId3() {
        return deptId3;
    }

    public void setDeptId3(Long deptId3) {
        this.deptId3 = deptId3;
    }

    public String getDeptName3() {
        return deptName3;
    }

    public void setDeptName3(String deptName3) {
        this.deptName3 = deptName3;
    }

    public Long getDeviceId() {
        return deviceId;
    }

    public void setDeviceId(Long deviceId) {
        this.deviceId = deviceId;
    }

    public String getDeviceName() {
        return deviceName;
    }

    public void setDeviceName(String deviceName) {
        this.deviceName = deviceName;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public Integer getInNum() {
        return inNum;
    }

    public void setInNum(Integer inNum) {
        this.inNum = inNum;
    }

    public Integer getPassNum() {
        return passNum;
    }

    public void setPassNum(Integer passNum) {
        this.passNum = passNum;
    }

    public Integer getOutNum() {
        return outNum;
    }

    public void setOutNum(Integer outNum) {
        this.outNum = outNum;
    }

    public Integer getRepNum() {
        return repNum;
    }

    public void setRepNum(Integer repNum) {
        this.repNum = repNum;
    }

    public Integer getChildNum() {
        return childNum;
    }

    public void setChildNum(Integer childNum) {
        this.childNum = childNum;
    }

    public Integer getJuvenileNum() {
        return juvenileNum;
    }

    public void setJuvenileNum(Integer juvenileNum) {
        this.juvenileNum = juvenileNum;
    }

    public Integer getTeenagerNum() {
        return teenagerNum;
    }

    public void setTeenagerNum(Integer teenagerNum) {
        this.teenagerNum = teenagerNum;
    }

    public Integer getYouthNum() {
        return youthNum;
    }

    public void setYouthNum(Integer youthNum) {
        this.youthNum = youthNum;
    }

    public Integer getAdultNum() {
        return adultNum;
    }

    public void setAdultNum(Integer adultNum) {
        this.adultNum = adultNum;
    }

    public Integer getMiddleNum() {
        return middleNum;
    }

    public void setMiddleNum(Integer middleNum) {
        this.middleNum = middleNum;
    }

    public Integer getElderlyNum() {
        return elderlyNum;
    }

    public void setElderlyNum(Integer elderlyNum) {
        this.elderlyNum = elderlyNum;
    }

    public Integer getSeniorNum() {
        return seniorNum;
    }

    public void setSeniorNum(Integer seniorNum) {
        this.seniorNum = seniorNum;
    }

    public Integer getUnknownAgeNum() {
        return unknownAgeNum;
    }

    public void setUnknownAgeNum(Integer unknownAgeNum) {
        this.unknownAgeNum = unknownAgeNum;
    }

    public Integer getManNum() {
        return manNum;
    }

    public void setManNum(Integer manNum) {
        this.manNum = manNum;
    }

    public Integer getWomanNum() {
        return womanNum;
    }

    public void setWomanNum(Integer womanNum) {
        this.womanNum = womanNum;
    }

    public Integer getUnknownSexNum() {
        return unknownSexNum;
    }

    public void setUnknownSexNum(Integer unknownSexNum) {
        this.unknownSexNum = unknownSexNum;
    }

    public Integer getOutRepNum() {
        return outRepNum;
    }

    public void setOutRepNum(Integer outRepNum) {
        this.outRepNum = outRepNum;
    }

    public Integer getPassRepNum() {
        return passRepNum;
    }

    public void setPassRepNum(Integer passRepNum) {
        this.passRepNum = passRepNum;
    }

    public String getHolidayName() {
        return holidayName;
    }

    public void setHolidayName(String holidayName) {
        this.holidayName = holidayName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("deptId1", getDeptId1())
                .append("deptName1", getDeptName1())
                .append("deptId2", getDeptId2())
                .append("deptName2", getDeptName2())
                .append("deptId3", getDeptId3())
                .append("deptName3", getDeptName3())
                .append("startTime", getStartTime())
                .append("endTime", getEndTime())
                .append("passNum", getPassNum())
                .append("inNum", getInNum())
                .append("outNum", getOutNum())
                .append("repNum", getRepNum())
                .append("childNum", getChildNum())
                .append("juvenileNum", getJuvenileNum())
                .append("teenagerNum", getTeenagerNum())
                .append("youthNum", getYouthNum())
                .append("adultNum", getAdultNum())
                .append("middleNum", getMiddleNum())
                .append("elderlyNum", getElderlyNum())
                .append("seniorNum", getSeniorNum())
                .append("unknownAgeNum", getUnknownAgeNum())
                .append("manNum", getManNum())
                .append("womanNum", getWomanNum())
                .append("unknownSexNum", getUnknownSexNum())
                .toString();
    }
}
